Improve the ARM detection to work on Thumb-only architecture

The ARM-specific assembly code doesn't build on Thumb-only
architectures such as ARMv7-M, but the configure script assumes that
if the host tuple is arm*, then it can build and use the ARM optimized
code.

This patch improves the configure.ac detection logic, by building one
of the instruction of the optimized assembly code, and using this to
decide whether or not the optimizations should be enabled.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -101,8 +101,10 @@
     alpha*)
 	AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);;
     arm*)
-	arm_conditional=:
-	AC_DEFINE([ARCH_ARM],,[ARM architecture]);;
+	AC_TRY_LINK([], [asm(".syntax divided\nstmfd sp!,{r4-r11,lr}")],
+	     [AC_DEFINE([ARCH_ARM],,[ARM architecture])
+	      use_arm_optimization=yes],
+	     [use_arm_optimization=no])
     esac
 elif test x"$CC" = x"tendracc"; then
     dnl TenDRA portability checking compiler
@@ -122,7 +124,7 @@
     esac
 fi
 
-AM_CONDITIONAL(ARCH_ARM, ${arm_conditional})
+AM_CONDITIONAL(ARCH_ARM, test "${use_arm_optimization}" = "yes")
 
 dnl Checks for libtool - this must be done after we set cflags
 AC_LIBTOOL_WIN32_DLL
